You are what you eat.
And I'm cooking what I eat! :)
目录
LLaMA - 论文精读学习笔记全文概述背景方法架构数据集预训练数据优化器高效实现代码 项目环境依赖模型细节代码解读推理主要结果训练期间的性能评估指令微调※ 偏见/毒性/错误● RealToxicityPrompts● CrowS-Pairs● WinoGender● TruthfulQA补充相关工作结论参考博文原文目录
提前说明:本系列博文主要是对参考博文的解读与重述(对重点信息进行标记、或者整段摘录加深自己的记忆和理解、融合多个博文的精髓、统合不同的代表性的案例),仅做学习记录笔记使用。与君共享,希望一同进步。
文章标题:开放和高效的基础语言模型
优势:开源
LLaMA 是 Meta AI (2023年2月)发布的包含 7B、13B、33B 和 65B 四种参数规模的基础语言模型集合(大模型),具体地,LLaMA-13B(仅以 1/10 规模的参数)在大多数基准上的表现优于GPT-3(175B),而LLaMA-65B可以和最好的模型Chinchilla-70B1和PaLM-540B2不相上下。在LLaMA发布之后,很多开源模型都是基于LLaMA的,比如斯坦福大学的羊驼模型。
作者在
本文介绍了LLaMA系列模型,通过在大量公开数据上训练,展示了在不使用专有数据集的情况下也能达到与顶级大模型相媲美的性能。文章详细讨论了训练方法、数据来源、模型架构优化和训练效率提升措施。
LLaMA的重点是比通常情况下使用更多的语料,来训练一系列可在各种推理预算下实现可能的最佳性能的语言模型。
LLaMA提供了不可多得的大模型开发思路,为很多国产化大模型打开了一片新的天地,论文和代码值得仔细研读。
作者引入了LLaMA系列模型,包含从7B到65B参数规模的模型。在万亿级tokens上训练,证明了仅使用公开数据集就可能训练得到SOTA的模型。
LLaMA是使用公开数据集训练的一系列大语言模型,其在多项NLP任务中超越GPT-3和PALM。模型训练采用byte级别的BPE分词、SwiGLU激活函数和RoPE位置编码。尽管在某些专业领域表现稍逊,但可通过指令微调提升性能。LLaMA提供不同规模的模型供不同需求的开发者使用。
随着ChatGPT的爆火,大语言模型逐渐成为了研究热点,然而过去的大部分工作中的大语言模型LLM都是闭源的,仅提供API有偿调用,本文介绍了最近MetaAI开源的大语言模型LLaMA。
大语言模型(Large Languages Models, LLMs)在大规模文本语料库上训练后,已经展现出能够根据文本指示(textual instructions)或少量样本执行新任务的能力。
这些少样本特性第一次出现在模型达到足够规模后,导致后来一系列工作着重于进一步扩大模型规模。LLM通常在参数量提升到一定程度后出现一些奇特的特性,如Few-shot甚至Zero-shot的In-context learning能力。过去的研究认为模型参数越多,最终的效果也越好。然而近期的工作表明,在给定计算预算下,最好的性能并不是由最大的模型实现的,而是由在更多数据上训练的较小模型实现的,即当计算预算一定的情况下,小一些的模型在更多的训练数据上训练会得到比大参数模型(更少的数据)更好的效果。
Hoffmann等人提出的规模定律(scaling laws)的目标是在给定训练计算预算下,最佳的数据集规模和模型大小是什么。然而它的目标忽略了推理成本,当成规模部署大模型时会是一个重要问题。因此,更好的模型不是训练有多快,而是推理有多快,训练一个较小的模型更久最终在推理时会更经济。例如,虽然Hoffmann等人建议在200B个标记上训练一个10B模型,但作者发现即使在训练1T个标记之后,7B模型的性能仍在持续提高。
本篇工作的重点是训练一系列语言模型,使用比通常更多的token数来进行训练,在不同的推理预算下实现最佳性能。最后得到的模型称为LLaMA,参数范围从7B到65B,与现有最佳的大语言模型相比具有竞争力的性能。例如,LLaMA-13B在大多数基准测试中优于GPT-3,尽管体积小了10倍。在更大的规模上,LLaMA-65B参数模型也可以与最好的大型语言模型(如Chinchilla或PaLM-540B)相媲美。比较与Chinchilla、PaLM或GPT-3不同的是,LLaMA仅使用公开可用的数据,而大多数现有模型依赖于非公开可用或未记录的数据,LLaMA使得这篇工作的效果理论上更易于复现且更开源。更容易复现!
全文要点
对Transformer架构所做的修改;
训练方法;
使用来自负责任的人工智能社区的一些最新基准,揭示了我们模型中编码的一些偏见和毒性。
最后用一些 AI 社区的最新评估方法,展示模型的偏差(bias)和 toxicity。
※ 文章给出了一系列大语言模型LLaMA 7B, 13B, 33B, 65B和LLaMA-I,开发者可以在不同的预算的条件下选择合适的模型进行使用。文章仅依赖公开数据集进行训练,且针对特定领域可以通过指令微调来增强模型。
主要贡献
开源一系列语言模型,可以与SOTA模型竞争
LLaMA-13B比GPT-3的性能更好,但是模型大小却是十分之一
LLaMA-65B与Chinchilla-70B和PaLM-540B的实力相当
使用公开数据集即可部分复现最先进的性能(86%左右的效果)
作者的训练方法类似GPT和PaLM,并受到Chinchilla的规模定律启发。在大量文本数据上使用标准的优化器训练大型的Transformer。作者强调更多的训练数据更加重要。
LLaMA基于Transformer架构(具体是Encoder 还是 Decoder 结构不好说),同时采用了后续的一些改进。下面是这篇工作主要引入的改进以及灵感来源(在方括号中):
Pre-normalization[GPT3] 为了提升训练稳定性,对每个Transformer子层(sub-layer)的输入也进行归一化,而不是对输出进行归一化。同时使用RMSNorm归一化方法。
把 Transformer 的归一化层放到每个每一个 Transformer 块的最开始。并采用 RMSNorm 作为归一化函数。原论文:Root Mean Square Layer Normalization
博文3、4都给出了一些源码。
SwiGLU激活函数[PaLM] 替换ReLU激活函数为SwiGLU函数以提升性能。使用
参数维度是由于增加了一个矩阵的缘故,为了保持参数相对相等,所以维度少了三分之一。
博文3、4都给出了一些源码
旋转嵌入[GPTNeo] 没有使用绝对位置嵌入,而是在网络的每一层添加旋转位置嵌入(Rotary Positional Embedding, RoPE)。
原论文(英文):RoFormer: Enhanced Transformer with Rotary Position Embedding
具体细节,可以看看博文3的对应部分的描述。
预训练数据集由不同数据源组成,数据来源和比重如Table 1 所示。
限制只使用公开可用且与开源兼容的数据。得到以下数据混合以及它们在训练集中所占的百分比:
English CommonCrawl [67%] 对来自2017~2020年的五个CommonCrawl存储进行预处理,使用CCNet管道。该过程在行级别对数据进行去重,使用fastText线性分类器 进行语言识别以删除非英语页面,并使用ngram语言模型过滤低质量内容。此外,还训练了一个线性模型来对维基百科中用作参考的页面进行分类,与随机抽样页面进行对比,并丢弃未被分类为参考的页面。
总结:非英语去除 & 行级别的去重处理。
C4 [15%] 在探索性实验中,作者观察到使用多样化预处理的CommonCrawl数据集可以提高性能。因此,在数据中包括了公开可用的C4数据集。C4的预处理也包括去重和语言识别步骤:与CCNet的主要区别在于质量过滤,这主要依赖于启发式方法,如网页中标点符号的存在或单词和句子的数量 。
概况:即,T5模型训练时使用的数据集。
Github [4.5%] 使用了公开的GitHub数据集。只保留了根据Apache、BSD和MIT许可证分发的项目。此外,使用基于行长度或字母数字字符比例的启发式方法过滤低质量文件,并使用正则表达式去除了诸如标题之类的样板文件。最后,在文件级别对结果数据集进行了去重,使用精确匹配的方式。
概况:使用Google BigQuery.上的Apache, BSD and MIT licenses数据。
Wikipedia [4.5%] 添加了涵盖20种语言的维基百科存储数据,时间跨度为2022年6月至8月。对数据进行处理,去除超链接、注释和其他格式化模板。
概括:截止到2022-08的多语言版本Wikipedia语料。
Gutenberg and Books3 [4.5%] 在训练数据集中包含了两个书籍语料库:Gutenberg,其中包含公有领域的图书,以及ThePile的部分。在书籍级别进行了去重处理,删除了内容重叠度超过90%的书籍。
概况:书籍语料进行了去重。
ArXiv [2.5%] 处理arXiv的LaTeX文件,将科学数据添加到数据集中。删除了第一节之前的所有内容以及参考文献部分。还删除了.tex文件中的注释,并对用户编写的定义和宏进行了内联扩展,以增加论文之间的一致性。
概况:删除掉第一个Section之前的所有内容,并去除了.tex中的注释。
Stack Exchange [2%] 包含了Stack Exchange的一个数据备份,这是一个高质量的问答网站,涵盖了从计算机科学到化学等各种领域。保留了最大的28个网站的数据,从文本中删除了HTML标签,并按照得分(从高到低)对回答进行了排序。
概况:保留了来自28个最大网站的数据,从文本中删除了HTML标签,并按分数(从最高到最低)对答案进行了排序。
Tokenizer
Tokenizer使用SentencePiece包实现的字节对编码算法(Byte-Pair Encoding BPE)对数据进行分词。将数字的每一位单独分开,避免出现数字不一致的问题,可以更好地理解和处理数值,极大地提高了数学能力。同时在遇到罕见词时使用byte编码分解未知的UTF-8 字符,做到未知词覆盖。
总体来说,整个训练数据集包含大约1.4T的标记。对于大部分训练数据,每个标记在训练过程中只使用一次,除了维基百科和图书领域对其进行了大约两个epoch的训练。
Table 2 给出了超参数的详细信息。
4个不同规模模型的超参数细节
可以看到参数量越大,批大小不变的情况下,学习率越小的趋势。
使用AdamW优化器,参数为:
使用余弦学习率调度,这样最终的学习率等于最大学习率的10%。
使用权重衰退率为0.1。
梯度裁剪为1.0。
预热步(warm up 的 step)为2000。
学习率和批大小根据模型规模而不同,见Table 2 。
作者做了一些优化来提升训练速度。
首先,使用了一个因果多头注意力的高效实现来减少运行时的内存占用,该实现由可通过xformers获取,受到了Self-attention does not need
同时为了进一步提升训练效率,通过检查点减少在反向传播时重复计算的激活值数量。具体地,存储了消耗较大的激活函数的计算结果,比如线性层的输出。这通过手动为Transformer实现反向传播函数(backward函数),而不是依赖于PyTorch的autograd。为了充分利用该优化,需要使用模型和序列并行技术(博文1)来减少模型内存的占用。此外,还尽可能地重叠激活计算和GPU之间的网络通信(通过all_reduce操作)。
当训练一个65B参数的模型,在2048个80G显存的A100上的处理速度约为380个标记/秒/GPU。这意味着使用包含1.4T个标记的数据集进行训练大约需要21天的时间。
由于模型较大,目前的设备暂时没有办法支持进一步的实验,但是其模型代码已经开源,所以可以先通过代码了解一下模型结构上的一些细节,今天就针对github上放出的代码,了解一下模型的细节。
此外,该模型其实就是transformer做了一点细节上的改进,真正更有价值的工作应该在数据和训练方面。通过阅读代码,可以对transformer的基础构造进行复习,并且了解大模型如何在多卡上分布推理。
此项目给出的环境依赖只有4个:
torch
fairscale
fairscale是用来做GPU分布的,一般是当使用DDP仍然遇到超显存的问题时使用fairscale。目前fairscale(博文5)还没有试过,在下文的源码介绍中,博文5会用torch中对应的基础网络替代fairscale中的结构层进行介绍。
fire
fire是一个命令行工具,用或者不用他都可以。
sentencepiece
sentencepiece是用于tokenizer的工具包,会在tokenizer部分简单介绍。
由于该模型就是用的transformer的decoder,所以在结构上它与GPT是非常类似的,只是有一些细节需要注意一下。
RMS Pre-Norm
SwiGLU激活函数
RoPE旋转位置编码
tokenizer
model
模型细节详解
ransformer构建
generate
简单看一下官方example中给出的推理样例prompt:
xxxxxxxxxx
21['The capital of Germany is the city of',
2'Here is my sonnet in the style of Shakespeare about an artificial intelligence:']
生成结果为:
xxxxxxxxxx
31['The capital of Germany is the city of Berlin. The city is also the capital of the Federal Republic of Germany.\nThe city of Berlin is located in the state of Berlin in Germany. The city is the capital of the federal Republic of Germany.\nBerlin has a total population of around 3.4 million and is the 2nd most populous city in the European Union after London. The city has an area of 892 square kilometers and is the 9th most populated city in Europe.\nThe city of Berlin was founded in the 13th century. Berlin was also the capital of the German Empire, the German Democratic Republic and the united Federal Republic of Germany.\nThe city of Berlin has many tourist attractions that include Museumsinsel, Brandenburger Tor, the Reichstag, and the Schloss Charlottenburg.\nThe city of Berlin is a major center for the Arts, Science, Education and Innovation. The city is also the political, economic, and cultural center of Germany.\nBerlin is home to a number of world renowned universities including the Free University of Berlin, the Humboldt University of Berlin, the Technical University of Berlin, and the Berlin Institute of Technology.\nThe city of Berlin has',
2'Here is my sonnet in the style of Shakespeare about an artificial intelligence:\nLet us take a moment from the tumultuous storm\nOf the politics of religion to examine the shape of things.\nOur intuition tells us that whatever we can conceive\nCan exist – our minds have no limit.\nHowever, our senses tell us that there is a limit.\nLet us examine the infinite and what we can say about it.\nThe infinite is something that we can never see.\nWe cannot say what it is and we cannot say what it is not.\nBut, somehow, it is nonetheless real.\nWe can also say that the infinite is eternal –\nIt has no beginning and it has no end.\nThat is what it is – it is the eternal.\nIn a word, it is God.\nBut what about the universe?\nThe universe is a finite construct –\nThe infinitely large and the infinitely small –\nAll of it finite.\nEven the singularity at the end of time is finite.\nSo, the universe is not God.\nPerhaps it is the vessel of God.\nPerhaps, in some sense, the universe is God.\nBut, I am still a man.\nI cannot see the infinite.\nI can only']
3
涉及了零样本(Zero-shot)和少样本(Few-shot)任务,一共报告了20个基准:
零样本 提供了一个任务的文本描述和一个测试样本,模型要么通过开发式生成答案,要么对提供的答案进行排序。
少样本 提供了任务的一些样本(1~64之间)和一个测试样本。模型以这个文本作为输入并生成答案或对不同的选项进行排序。
在自由生成任务和多项选择任务上评估LLaMA。
常识推理 考虑了8个标准的常识推理基准。
如Table 3 所示,LLaMA-65B在绝大多数基准上超越了Chinchilla-70B。而LLaMA-13B也在大多数基准上超越了GPT-3,尽管前者比后者小了10倍以上。
闭卷问答 将LLaMA与现有的LLM在两个闭卷问题回答基准中进行比较:自然问题(Natural Questions)和TriviaQA。
在Table 4 中,作者报告了在自然问题上的性能,而在Table 5 中,报告了在TriviaQA上的性能。
![]() | ![]() |
---|
在这两个基准测试中,LLaMA-65B在零样本和少样本设置下取得了SOTA的性能。更重要的是,尽管LLaMA-13B的规模较小,但在这些基准测试中也具有竞争力。
阅读理解
如Table 6 所示,在基准测试中,LLaMA-65B与PaLM-540B相媲美,而LLaMA-13B的性能也比GPT-3高出几个百分点。
数学推理
在Table 7 中,与PaLM和Minerva进行了比较。Minerva是一系列在ArXiv和数学网页中提取的38.5B标记上微调的PaLM模型,而PaLM和LLaMA都没有在数学数据上进行微调。在GSM8k上,可以看到LLaMA-65B的性能由于Minverva-62B。
代码生成 还在HumanEval和MBPP基准测试上评估根据自然语言描述编写代码的能力。模型需要生成一个符合描述并满足测试用例的Python程序。
如Table 8 所示,对于类似的规模上,LLaMA在性能上优于其他通用模型,如LaMDA和PaLM。LLaMA在HumanEval和MBPP上的13B参数以上的性能也超过了LaMDA 137B。LLaMA-65B也优于PaLM-62B。
在包含代码的数据上进行微调可以提高模型的代码性能,同时还能提高模型的逻辑推理能力。
大规模多任务语言理解
在Table 9 中的结果所示,在这个基准测试中,LLaMA-65B在平均值和大多数领域上都落后于Chinchilla-70B和PaLM-540B几个百分点。一个可能的解释是,LLaMA在预训练数据中使用的书籍和学术论文数量有限,即ArXiv、Gutenberg和Books3,总计只有177GB,而这些模型是在多达2TB的书籍上进行训练的。
在训练过程中,作者追踪了模型在一些问答和常识基准测试中的性能(Figure 2 )。在大多数基准测试中,性能稳步提高,并与模型的训练困惑度相关(见Figure 1 )。但有两个例外,即SIQA和WinoGrande。特别是在SIQA上,可以观察到性能存在很大的变化,可能是该基准测试不太可靠。在WinoGrande上,性能与训练困惑度的相关性不太明显:LLaMA-33B和LLaMA-65B在训练过程中的性能相似。
在本节中,作者展示了简单的微调指令数据
可以迅速改善MMLU的性能。作者观察到少量样本的微调就可以提高在MMLU上的性能,并进一步提高模型遵循指令的能力。
在Table 10 中,可以看到指令模型LLaMA-I在MMLU上的结果,并与现有中等规模的指令微调模型进行了比较,包括OPT-IML和Flan-PaLM系列。尽管这里使用的指令微调方法相对简单,但在MMLU上达到了68.9%的性能。虽然LLaMA-I(65B)在MMLU上的表现优于现有的中等规模指令微调模型,但仍然远远落后于最先进的水平,即GPT code-davinci-002在MMLU上的77.4。
LLM被证明会重现并强化存在与训练数据中的偏见,并生成毒性或冒犯性内容。由于训练数据集包含了大量来自网络的数据,作者认为确定模型生成此类内容的可能性是至关重要的。
为了了解LLaMA-65B的潜在危害,在不同的基准测试上进行了评估,这些测试衡量了有害内容的生成和偏见的检测。虽然选择了一些用于指示这些模型存在问题的标准基准测试,但这些评估并不足以完全理解与这些模型相关的风险。
语言模型可以生成有毒内容,例如侮辱、仇恨言论或威胁。
RealToxicityPrompts基准视为其模型毒性的指标。RealToxicityPrompts由大约10万个模型必须完成的提示组成;然后通过向PerspectiveAPI发出请求来自动评估毒性评分。
RealToxicityPrompts包含约10万个提示,模型必须补全这些提示;然后通过向PerspectiveAPI进行请求来自动评估毒性得分。
对于这10万个提示中的每一个,使用模型贪婪地生成,并测量它们的毒性得分。每个提示的得分范围从0(非毒性)到1(毒性)。在Table 11 中,报告了在RealToxicityPrompts的Basic和Respectful类别上的平均得分。可以观察到,毒性随模型规模增加而增加,尤其是对于Respectful的提示。但毒性与模型大小之间的关系可能仅适用于模型系列内部。
在CrowSPairs数据集上评估了模型的偏见,该数据集可以衡量9个类别的偏见:性别、宗教、种族/肤色等。使用零样本设置中两个句子的困惑度来衡量模型对偏见句子的偏好。因此,得分较高表示偏见较高。在Table 12 中与GPT-3和OPT-175B进行了比较。在平均水平上,LLaMA与这两个模型相比稍微有些优势。作者认为这些偏见可能来自于CommonCrawl,尽管经过了多次过滤步骤。
进一步研究了在性别上的偏见。还测试了WinoGender基准,这是一个共指消解数据集,通过确定模型的共指消解性能是否受到代词性别的影响来评估偏见。
每个句子都有三个指代:一个职业,一个参与者和一个代词,其中代词要么指代职业,要么指代参与者。目标是揭示模型是否捕捉到与职业相关的社会偏见。
在Table 13 中,看到了模型数据集中包含的三个不同代词的共指分数。模型在their/them/someone
代词的共指消解上要比her/her/she
和his/him/he
代词表现显著更好,这很可能表明存在性别偏见。
TruthfulQA旨在衡量模型的真实性,即其识别声明是否真实的能力。该基准测试可以评估模型生成错误信息或虚假声明的风险。问题以多样的风格编写,涵盖了38个类别,并且被设计为对抗性的。
在Table 14 中,可以看到模型在衡量真实模型和真实且信息丰富的问题上的表现。与GPT-3相比,虽然LLaMA在这两个类别中得分更高,但正确答案的比率仍然较低,表明LLaMA很可能会产生不正确的答案。
语言模型 语言模型是对单词、标记或字符序列的概率分布表示。这个任务通常被称为下一个标记预测,并且长期以来一直被认为是自然语言处理中的核心问题。由于图灵提出通过“模仿游戏”来使用语言来衡量机器智能,因此语言建模已被提出作为衡量人工智能进展的基准。
架构 传统上,语言模型基于n-gram计数统计,并提出了各种平滑技术来改善对罕见事件的估计。在过去的二十年中,神经网络已成功应用于语言建模任务,从前馈模型、循环神经网络到LSTM。近来,基于自注意力机制的Transformer网络取得了重要的改进,特别是在捕捉长距离依赖性方面。
规模 语言模型的扩充有着悠久的历史。无论是模型还是数据集的规模。Brants等人展示了在2万亿标记上训练的语言模型的优势,结果是有3000亿个n-gram,对机器翻译的质量有所提升。Heafield等人后来展示了如何将Kneser-Ney平滑技术扩展到Web规模的数据上。这使得能够在来自CommonCrawl的9750亿标记上训练一个5-gram模型,产生了具有5000亿个n-gram的模型。
在神经语言模型的背景下,Jozefowicz通过将LSTM扩展到10亿个参数,在十亿字基准测试中取得了最先进的结果。后来,通过扩展Transformer在许多自然语言处理任务上取得了改进。值得注意的模型包括BERT、GPT-2、MegatronLM和T5。重要的突破是通过GPT-3取得的,这是一个具有1750亿个参数的模型。这导致了一系列大规模语言模型的出现,例如Jurassic-1、Megatron-Turing NLG、Gopher、Chinchilla、PaLM、OPT和GLM。Hestness等人研究了扩展对深度学习模型性能的影响,展示了模型和数据集大小与系统性能之间存在的幂律关系。Kaplan等人专门为基于Transformer的语言模型推导了幂律关系,后来由Hoffmann等人通过调整学习率调度来改进。最后,Wei等人研究了扩展规模对大型语言模型能力的影响。
Emergent Abilities of Large Language Models 研究了缩放对大型语言模型能力的影响。(这篇是研究涌现现象的)
在LLaMA中,作者介绍了一系列开放的语言模型,并与最先进的基准模型进行了竞争。与以前的研究不同,作者展示了通过仅使用公开可用的数据进行训练,而无需使用专有数据集,可以实现最先进的性能。
本文中提出了一系列公开发布的语言模型,并实现与最先进的基础模型相竞争的结果。最值得注意的是,LLaMA-13B的性能优于GPT-3,但体积比GPT-3小10倍以上,LLaMA-65B与Chinchilla-70B和PaLM-540B竞争。
与之前的研究不同,我们的研究表明,不使用专有数据集,而只使用公开可用的数据集进行训练,可以达到最先进的性能。
我们希望向研究界发布这些模型将加速大型语言模型的发展,并有助于提高它们的鲁棒性,减轻已知的问题,如毒性和偏见。
此外,我们像Chung等人(2022)一样观察到,根据指令对这些模型进行微调会产生有希望的结果,我们计划在未来的工作中进一步研究这一点。
作者也注意到 Scaling Instruction-Finetuned Language Models 在指令上微调引向了更好的结果,并计划在未来做这个方面的实验。
最后,我们计划在未来发布在更大的预训练语料库上训练的更大的模型,因为我们在扩展时已经看到了性能的不断提高。
博文5 代码部分的总结
总结一下,本文对LLaMA大模型的结构代码进行了详细的介绍,其开源出来的结构代码量并不多,但是其中很多细节值得反复推敲理解。
[论文笔记]LLaMA: Open and Efficient Foundation Language Models
点评:★★★★☆ 起码对文章进行了整体的描述。还是不错的!
论文笔记:LLaMA: Open and Efficient Foundation Language Models
点评:★★★☆☆ 感觉和博文1非常相似,补充了一些细节知识点的描述。
【读论文】LLaMA: Open and Efficient Foundation Language Models
点评:★★★★☆ 感觉类似的博文后面的实验都是大概相仿,估计大多是对原文的翻译罢了~ 但是这篇文章有的好处是,(以自己的理解吗?猜测是的)给出了架构图。此外,具体使用的细节也给出了出处,方便后期深入学习的时候,可以回过头来再参考看看。
【LLM系列之LLaMA】LLaMA: Open and Efficient Foundation Language Models
点评:★★★☆☆ 相比之前的文章,有些细节上的补充,但是大多数都是一样的。
Meta最新模型LLaMA细节与代码详解 暂时没有展开,复现的时候再细看
LLaMA - 论文精读学习笔记全文概述背景方法架构数据集预训练数据优化器高效实现代码 项目环境依赖模型细节代码解读推理主要结果训练期间的性能评估指令微调※ 偏见/毒性/错误● RealToxicityPrompts● CrowS-Pairs● WinoGender● TruthfulQA补充相关工作结论参考博文原文目录
1 Introduction 1 2 Approach 2 2.1 Pre-training Data 2 2.2 Architecture 3 2.3 Optimizer 3 2.4 Efficient implementation 3 3 Main results 4 3.1 Common Sense Reasoning 4 3.2 Closed-book Question Answering 5 3.3 Reading Comprehension 5 3.4 Mathematical reasoning 5 3.5 Code generation 5 3.6 Massive Multitask LanguageUnderstanding 6 3.7 Evolution of performance during training 6 4 Instruction Finetuning 7 5 Bias, Toxicity and Misinformation 7 5.1 RealToxicityPrompts 8 5.2 CrowS-Pairs 9 5.3 WinoGender 9 5.4 TruthfulQA 9 6 Carbon footprint 10 7 Related work 10 8 Conclusion 11 Acknowledgements 12 References 12 A Question Answering 17 B MMLU 18 C Generations from LLaMA-65B 19 D Generations from LLaMA-I 22
博文免责声明
本条博文信息主要整合自网络,部分内容为自己的理解写出来的,如有断章截句导致不正确或因个人水平有限未能详尽正确描述的地方,敬请各位读者指正;
引用出处可能没有完全追溯到原始来源,如因此冒犯到原创作者,请联系本人更正/删除;
博文的发布主要用于自我学习,其次希望帮助到有共同疑惑的朋友。